// import { Login } from "../../request/api";


// 存放状态数据
const state =  {
    user:sessionStorage.getItem('user') ? JSON.parse(sessionStorage.getItem('user')) : null,
    power:sessionStorage.getItem('power') ? JSON.parse(sessionStorage.getItem('power')) : null,
}


// mutations来修改state
const mutations = {
    changeUser(state,user){
        if(user){
            // 将用户信息存入vuex
            state.user = user;
            state.power = user.username.power;
            // 同时将用户信息存入sessionStorage
            sessionStorage.setItem('power',JSON.stringify(user.username.power))
            // 存入user之前先处理一下
            user.username.menus=[{
                id:1,
                title:'管理员设置',
                icon:'el-icon-setting',
                child:[]
            },{
                id:2,
                title:'基本管理',
                icon:'el-icon-s-operation',
                child:[]
            },{
                id:3,
                title:'仓库管理',
                icon:'el-icon-box',
                child:[]
            },]
            // console.log(user.username);
            user.username.power.forEach((item,index)=>{
                if(item.power=="/power"||item.power=="/role"||item.power=="/admin"){
                    user.username.menus[0].child.push(item)
                }else if(item.power=="/client"||item.power=="/supply"||item.power=="/goods"||item.power=="/store"){
                    user.username.menus[1].child.push(item)
                }else if(item.power=="/put"||item.power=="/out"||item.power=="/stock"){
                    user.username.menus[2].child.push(item)
                }
            })
            sessionStorage.setItem('user',JSON.stringify(user))
            
        }else{
            // 情况session
            sessionStorage.removeItem('user')
            sessionStorage.removeItem('power')
        }
    }
}


/**
 * actions
 * 1.对接组件中的辅助函数mapActions
 * 2.提交mutations
 * 3.发起异步请求
 * */ 
const actions = {
    userActions(context,user){
        context.commit('changeUser',user)
    }

}

// getters:派生state状态
const getters = {
    user(state){
        return state.user
    },
    power(state){
        return state.power
    }
}

export default{
    state,
    mutations,
    actions,
    getters,
    namespaced:true,//使用命名空间
}